home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
C/C++ Users Group Library 1996 July
/
C-C++ Users Group Library July 1996.iso
/
vol_300
/
332_01
/
makefile.msc
< prev
next >
Wrap
Makefile
|
1990-01-05
|
13KB
|
418 lines
#################################################################
# PCCURSES #
# #
# Makefile to generate $(MODEL)curses.lib #
# For MicroSoft 'C' v.3.0, 4.0 and 5.1. #
# #
# This makefile will generate subdirectories and call itself #
# recursively. Some entries in this makefile are only for #
# the author's personal use (I preferred to keep my own stuff #
# in the same place). Those are at the end of the makefile. #
#################################################################
# 1.4: Release: 900114 #
#################################################################
# The following are the directories where your lib and include
# files will be installed. These need to be edited for your
# system. Here are also the default C compiler and the standard
# compilation flags. Change those if you want to. These are the
# only changes that should be made to the makefile, unless you
# have something special in mind...
LIBDIR=\msc\lib
INCDIR=\msc\inc
MANDIR=\man
CC=cl
CFLAGS=-M$(MODEL) -c -Ox -W2
#################################################################
# End of customizable stuff #
#################################################################
OBJS= attrib.obj beep.obj border.obj boxes.obj \
charadd.obj chardel.obj charget.obj charins.obj \
charpick.obj clrtobot.obj clrtoeol.obj endwin.obj \
initscr.obj linedel.obj lineins.obj longname.obj \
move.obj mvcursor.obj newwin.obj options.obj \
overlay.obj prntscan.obj refresh.obj scrreg.obj \
setmode.obj setterm.obj stradd.obj strget.obj \
tabsize.obj termmisc.obj unctrl.obj update.obj \
winclear.obj windel.obj winerase.obj winmove.obj \
winscrol.obj wintouch.obj cursesio.obj
#################################################################
# 'default' is all that can (and usually is) done #
#################################################################
default: small compact medium large
#################################################################
# Install the .lib files in $(LIBDIR) directory. Header files #
# are already installed - have to be to make make work ;-) #
#################################################################
install: iheaders ismall icompact imedium ilarge iman
#################################################################
# The following copies the header files to their proper place #
#################################################################
iheaders: $(INCDIR)\curses.h $(INCDIR)\curspriv.h
$(INCDIR)\curses.h: curses.h
-attrib -r $(INCDIR)\curses.h
copy curses.h $(INCDIR)\curses.h
attrib +r $(INCDIR)\curses.h
$(INCDIR)\curspriv.h: curspriv.h
-attrib -r $(INCDIR)\curspriv.h
copy curspriv.h $(INCDIR)\curspriv.h
attrib +r $(INCDIR)\curspriv.h
#################################################################
# Install the manual pages in the man directory #
#################################################################
iman: $(MANDIR)\curses.3
$(MANDIR)\curses.3: curses.3
attrib -r $(MANDIR)\curses.3
copy curses.3 $(MANDIR)\curses.3
attrib +r $(MANDIR)\curses.3
#################################################################
# The following will create a subdirectory for each memory #
# model, and initiate the make:ing in each one. #
#################################################################
# Create work directory if non-existent, go to it, and #
# perform the job - small model #
#################################################################
ismall: small
-attrib -r $(LIBDIR)\scurses.lib
copy smodel.msc\scurses.lib $(LIBDIR)\scurses.lib
-attrib +r $(LIBDIR)\scurses.lib
small: iheaders \
smodel.msc \
smodel.msc\farnear.inc \
smodel.msc\smalhuge.inc
cd smodel.msc
-make -f ..\makefile.msc $(MAKEFLAGS) "MODEL=s" scurses.lib
cd ..
smodel.msc:
mkdir smodel.msc
smodel.msc\farnear.inc: nearcall.inc
copy nearcall.inc smodel.msc\farnear.inc
smodel.msc\smalhuge.inc: smaldata.inc
copy smaldata.inc smodel.msc\smalhuge.inc
#################################################################
# Create work directory if non-existent, go to it, and #
# perform the job - compact model #
#################################################################
icompact: compact
-attrib -r $(LIBDIR)\ccurses.lib
copy cmodel.msc\ccurses.lib $(LIBDIR)\ccurses.lib
-attrib +r $(LIBDIR)\ccurses.lib
compact: iheaders \
cmodel.msc \
cmodel.msc\farnear.inc \
cmodel.msc\smalhuge.inc
cd cmodel.msc
-make -f ..\makefile.msc $(MAKEFLAGS) "MODEL=c" ccurses.lib
cd ..
cmodel.msc:
mkdir cmodel.msc
cmodel.msc\farnear.inc: nearcall.inc
copy nearcall.inc cmodel.msc\farnear.inc
cmodel.msc\smalhuge.inc: hugedata.inc
copy hugedata.inc cmodel.msc\smalhuge.inc
#################################################################
# Create work directory if non-existent, go to it, and #
# perform the job - medium model #
#################################################################
imedium: medium
-attrib -r $(LIBDIR)\mcurses.lib
copy mmodel.msc\mcurses.lib $(LIBDIR)\mcurses.lib
-attrib +r $(LIBDIR)\mcurses.lib
medium: iheaders \
mmodel.msc \
mmodel.msc\farnear.inc \
mmodel.msc\smalhuge.inc
cd mmodel.msc
-make -f ..\makefile.msc $(MAKEFLAGS) "MODEL=m" mcurses.lib
cd ..
mmodel.msc:
mkdir mmodel.msc
mmodel.msc\farnear.inc: farcall.inc
copy farcall.inc mmodel.msc\farnear.inc
mmodel.msc\smalhuge.inc: smaldata.inc
copy smaldata.inc mmodel.msc\smalhuge.inc
#################################################################
# Create work directory if non-existent, go to it, and #
# perform the job - large model #
#################################################################
ilarge: large
-attrib -r $(LIBDIR)\lcurses.lib
copy lmodel.msc\lcurses.lib $(LIBDIR)\lcurses.lib
-attrib +r $(LIBDIR)\lcurses.lib
large: iheaders \
lmodel.msc \
lmodel.msc\farnear.inc \
lmodel.msc\smalhuge.inc
cd lmodel.msc
-make -f ..\makefile.msc $(MAKEFLAGS) "MODEL=l" lcurses.lib
cd ..
lmodel.msc:
mkdir lmodel.msc
lmodel.msc\farnear.inc: farcall.inc
copy farcall.inc lmodel.msc\farnear.inc
lmodel.msc\smalhuge.inc: hugedata.inc
copy hugedata.inc lmodel.msc\smalhuge.inc
#################################################################
# Put together the library in file tmp.lib, then rename it to #
# $(MODEL)curses.lib (You cannot answer 'y' to LIB prompt from #
# the .CMD file otherwise). #
#################################################################
$(MODEL)curses.lib: $(OBJS)
del $(MODEL)curses.lib
lib @..\curses.cmd
ren tmp.lib $(MODEL)curses.lib
#################################################################
# Commands and dependencies for individual modules #
#################################################################
attrib.obj: ..\attrib.c ..\curses.h ..\curspriv.h
$(CC) $(CFLAGS) -Foattrib ..\attrib.c
beep.obj: ..\beep.c ..\curses.h ..\curspriv.h
$(CC) $(CFLAGS) -Fobeep ..\beep.c
border.obj: ..\border.c ..\curses.h ..\curspriv.h
$(CC) -M$(MODEL) -c -Oat -W2 -Foborder ..\border.c
boxes.obj: ..\boxes.c ..\curses.h ..\curspriv.h
$(CC) $(CFLAGS) -Foboxes ..\boxes.c
charadd.obj: ..\charadd.c ..\curses.h ..\curspriv.h
$(CC) $(CFLAGS) -Focharadd ..\charadd.c
chardel.obj: ..\chardel.c ..\curses.h ..\curspriv.h
$(CC) $(CFLAGS) -Fochardel ..\chardel.c
charget.obj: ..\charget.c ..\curses.h ..\curspriv.h
$(CC) $(CFLAGS) -Focharget ..\charget.c
charins.obj: ..\charins.c ..\curses.h ..\curspriv.h
$(CC) $(CFLAGS) -Focharins ..\charins.c
charpick.obj: ..\charpick.c ..\curses.h ..\curspriv.h
$(CC) $(CFLAGS) -Focharpick ..\charpick.c
clrtobot.obj: ..\clrtobot.c ..\curses.h ..\curspriv.h
$(CC) $(CFLAGS) -Foclrtobot ..\clrtobot.c
clrtoeol.obj: ..\clrtoeol.c ..\curses.h ..\curspriv.h
$(CC) $(CFLAGS) -Foclrtoeol ..\clrtoeol.c
endwin.obj: ..\endwin.c ..\curses.h ..\curspriv.